package com.java2_13;

public class java2_13 {
    //    public static void main(String[] args) {
//        //集合和数组的区别
//        //集合初始长度为0，添加一个增长一点
//        //数组初始长度固定
////        int[] arr = new int[3];
////        for (int i = 0; i < arr.length; i++) {
////            arr[i] = i;
////        }
////        for (int i = 0; i < arr.length; i++) {
////            System.out.print(arr[i] + "  ");
////        }
//        ArrayList<String> list = new ArrayList<>();
//
//        //添加数据
//        list.add("zhangsan");
//        list.add("lisi");
//        list.add("wangwu");
//        list.add("zhaoliu");
//
//        System.out.println(list);  //打印的不是地址
//
//        //求长度
//        int size = list.size();
//        System.out.println(size);
//
//        //获取
//        String result = list.get(2);
//        System.out.println(result);
//
//        //遍历ArrayList
//        for (int i = 0; i < list.size(); i++) {
//            System.out.print(list.get(i) + " ");
//        }
//        System.out.println();
//
//        //修改
//        String str = list.set(1, "coco");  //返回值是被修改的数据
//        System.out.println(str);
//        System.out.println(list);
//
//        //移除
//        String remove = list.remove(1);
//        System.out.println(remove);
//        System.out.println(list);
//
//        boolean z = list.remove("zhangsan");
//        System.out.println(z);
//        System.out.println(list);
//    }
//    public static void main(String[] args) {
//        ArrayList<String> list = new ArrayList<>();
//        list.add("zhangsan");
//        list.add("lisi");
//        list.add("wangwu");
//        list.add("zhaoliu");
//
//        System.out.print("[");
//        for (int i = 0; i < list.size(); i++) {
//            if(i == list.size() - 1){
//                System.out.print(list.get(i));
//            }else{
//                System.out.print(list.get(i) + ", ");
//            }
//        }
//        System.out.println("]");
//    }
//    public static void main(String[] args) {
//        //集合只能存储引用数据类型，基本类型要转换成包装类才行
//        //char == Character
//        //int == Integer
//        ArrayList<Integer> list = new ArrayList<>();
//        for (int i = 1; i <= 10; i++) {
//            list.add(i);
//        }
//
//        //遍历
//        System.out.print("[");
//        for (int i = 0; i < list.size(); i++) {
//            if(i == list.size() - 1){
//                System.out.print(list.get(i));
//            }else{
//                System.out.print(list.get(i) + ", ");
//            }
//        }
//        System.out.println("]");
//    public static void main(String[] args) {
//        //添加对象变量
//
//        ArrayList<Student> list = new ArrayList<>();
//        Student s1 = new Student("zhangsan" , 20);
//        Student s2 = new Student("lisi",21);
//        Student s3 = new Student("wangwu",22);
//
//        list.add(s1);
//        list.add(s2);
//        list.add(s3);
//
//        for (int i = 0; i < list.size(); i++) {
//            Student student = list.get(i);
//            System.out.println(student.getName() + " " + student.getAge());
//        }
//
//
//    }
//    public static void main(String[] args) {
//        //添加成员变量及录入
//        ArrayList<Student> list = new ArrayList<>();
//
//        //录入信息
//        Scanner sc = new Scanner(System.in);
//        for (int i = 0; i < 3; i++) {
//            Student s = new Student();
//            System.out.print("请输入姓名：");
//            String stuName = sc.next();
//            s.setName(stuName);
//            System.out.print("请输入年龄：");
//            int stuAge = sc.nextInt();
//            s.setAge(stuAge);
//
//            list.add(s);
//        }
//
//        for (int i = 0; i < list.size(); i++) {
//            Student student = list.get(i);
//            System.out.println(student.getName() + " " + student.getAge());
//        }
//    public static void main(String[] args) {
//        ArrayList<Studentinfo> list = new ArrayList<>();
//        Studentinfo s1 = new Studentinfo("zhangsan", 18, "001");
//        Studentinfo s2 = new Studentinfo("lisi", 19, "002");
//        Studentinfo s3 = new Studentinfo("wangwu", 20, "003");
//
//        list.add(s1);
//        list.add(s2);
//        list.add(s3);
//
//        Scanner sc = new Scanner(System.in);
//        System.out.print("please input the id:");
//        String myId = sc.next();
//
//        System.out.println(findId(list, myId));
//
//    }
//
//    public static boolean findId(ArrayList<Studentinfo> list, String myId) {
//        for (int i = 0; i < list.size(); i++) {
//            Studentinfo s = list.get(i);
//            String youId = s.getId();
//            if (myId.equals(youId)) {
//                return true;
//            }
//        }
//        return false;
//    }
//    public static void main(String[] args) {
//        ArrayList<Phone> list = new ArrayList<>();
//        Phone p1 = new Phone("小米", 1000);
//        Phone p2 = new Phone("苹果", 8000);
//        Phone p3 = new Phone("锤子", 2999);
//
//        list.add(p1);
//        list.add(p2);
//        list.add(p3);
//
//
//        //这样result的结果可以继续被使用，导出
//        ArrayList<Phone> result = findPhone(list);
//        for (int i = 0; i < result.size(); i++) {
//            Phone P = result.get(i);
//            System.out.println(P.getBrand() + " " + P.getPrice());
//        }
//    }
//
//    public static ArrayList<Phone> findPhone(ArrayList<Phone> list) {
//        ArrayList<Phone> listPhone = new ArrayList<>();
//        for (int i = 0; i < 3; i++) {
//            Phone phone = list.get(i);
//            if(phone.getPrice() <3000){
//                listPhone.add(phone);
//            }
//        }
//        return listPhone;
//        //当返回的内容很多是可以返回容器
//    }
//    public static void main(String[] args) {
//        Goods[] arr = new Goods[3];
//
//        Goods g1 = new Goods(1,"手机",5999,100);
//        Goods g2 = new Goods(2,"电脑",10999,50);
//        Goods g3 = new Goods(3,"手表",3000,1000);
//
//        arr[0] = g1;
//        arr[1] = g2;
//        arr[2] = g3;
//
//        for (int i = 0; i < arr.length; i++) {
//            Goods good = arr[i];
//            System.out.println(good.getId() + " " + good.getName() + " " +
//                    good.getPrice() + " " + good.getNum());
//
//        }
//
//    }
//
//    public static void main(String[] args) {
//        Car[] arr = new Car[3];
//
//        Scanner sc = new Scanner(System.in);
//        for (int i = 0; i < arr.length; i++) {
//            Car c = new Car();
//            System.out.println("请输入车辆姓名：");
//            c.setName(sc.next());
//            System.out.println("请输入车辆价格：");
//            c.setPrice(sc.nextInt());
//            System.out.println("请输入车辆颜色：");
//            c.setColor(sc.next());
//
//            arr[i] = c;
//        }
//        for (int i = 0; i < arr.length; i++) {
//            Car car = arr[i];
//            System.out.println(car.getName() + " " + car.getPrice()
//                    + " " + car.getColor());
//        }
//
//        //计算平均价格
//        int sum = 0;
//        for (int i = 0; i < arr.length; i++) {
//            Car car = arr[i];
//            sum += car.getPrice();
//        }
//
//        int avg = (sum / 3);
//        System.out.println("价格的平均值为：" + avg);
//
//        //计算低于平均值有几个
//        int count = 0;
//        for (int i = 0; i < arr.length; i++) {
//            Car car = arr[i];
//            if(car.getPrice() < avg){
//                count++;
//            }
//        }
//        System.out.println("低于平均值的有" + count + "个");
//
//
//    }
    public static void main(String[] args) {
        Student1[] arr = new Student1[3];

        Student1 stu1 = new Student1(1, "zhangsan", 18);
        Student1 stu2 = new Student1(2, "lisi", 19);
        //Student1 stu3 = new Student1(3, "wangwu", 20);

        arr[0] = stu1;
        arr[1] = stu2;
        //arr[2] = stu3;

        Student1 stu4 = new Student1(4, "zhaoliu", 21);

        //检查id是否重复
        boolean result = examineId(arr, stu4.getId());
        if (result) {
            System.out.println("您添加的成员id已被使用，请重写输入id！");
        } else {
            //计算个数
            int count = StuNumber(arr);
            if (count == arr.length) {
                //已满
                Student1[] newArr = newArr(arr);
                newArr[count] = stu4;
                //遍历数组
                printArr(newArr);
            } else {
                //未满
                arr[count] = stu4;
                //遍历数组
                printArr(arr);
            }

        }
    }

    //判断id是否重复
    public static boolean examineId(Student1[] arr, int id) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] != null) {
                Student1 stu = arr[i];
                if (stu.getId() == id) {
                    return true;
                }
            }
        }
        return false;
    }

    //计算成员个数
    public static int StuNumber(Student1[] arr) {
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] != null) {
                count++;
            }
        }
        return count;
    }

    //已满，构造新的数组
    public static Student1[] newArr(Student1[] arr) {
        Student1[] newArr = new Student1[arr.length + 1];
        for (int i = 0; i < arr.length; i++) {
            newArr[i] = arr[i];
        }
        return newArr;
    }

    //遍历数组
    public static void printArr(Student1[] arr) {
        for (int i = 0; i < arr.length; i++) {
            Student1 member = arr[i];
            System.out.println(member.getId() + " " + member.getName()
                    + " " + member.getAge());
        }


    }

}







